It is possible for a checksum comparison to fail to detect file corruption, but it's very unlikely. The corrupted file would need to produce the same checksum as the original. If the checksum produces an _n_ -bit value, the probability of a false negative is 2- _n_. (I'm assuming that you're trying to detect random failures, not purposeful tampering.)
So even a simple 32-bit checksum has only a 10-10 (approximately) probability of false negatives.
See section 12.5 of Information Theory, Inference, and Learning Algorithms for detailed explanations of the limits of error detection using checksums.