The simplest answer is because each anti-virus solution is coded differently. They're different pieces of software. It's expected that there should be differences, just as you'd expect differences between MS Office, OpenOffice and Star Office.
Expanding on that, some anti-virus uses virus databases, which, in layman's terms, hold information about known viruses. These are always one step behind the bad guys in that they have to know about a virus before they can add it to the db. While most anti-virus products that use this type of technology do a good job of keeping up-to-date, it's certainly possible for one AV product to moss what others find.
Other forms of anti-virus use heuristics (they analyze the behavior of software) to try to detect malware. These can detect malware that traditional AV software can miss, and it can miss malware that the other type of anti-virus can find.