Unless... its a Brand New virus that isn't in the antivirus database yet...
The commercial anti-virus systems use pattern matching, or even less than that - string searching. They look for known 'signatures' of viruses. The key words here are 'known' and 'signature'. If it isn't known - ie: not widespread enough to be 'caught' by the anti-virus company - it won't be detected. If it is able to modify its signature, it is as good as unknown.
Why do you think it is that now and again you get viruses/worms that spread real fast, and virus detection systems do nothing about it? (netsky, etc.) Then, a couple of days later there is a fix for it. This is the lag time between when the virus is 'caught', its pattern is determined and the database is updated.