Of course it is possible to have two different files generate the same MD5 hash. Think about this - the hash is only 128 bits long, so that means at most there are 2^128 possible hashes. There are infinitely countable files, so that means there are collisions in MD5 hashes. The special quality in an MD5 has is that it generates hashes that are well distributed, so that it is hard to reverse the hash (generate another file with the same hash) and likewise hard for a corruption to generate a file with the same hash. So the result is a high probability of noncorruption if the hashes are the same, but this probability is not 100%.