If there is corruption, CheckDB will always find it. If you've manually edited an unallocated page, or the middle of a page when you don't have page checksums enabled, then the changes may go unnoticed. Unallocated pages aren't checked because there's no way to tell whether there's damage or not, they're unallocated so they're allowed to be absolute garbage.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability