I think what people have been saying about impact is on target. It takes a perfect storm to make a game a classic, this was even more true in the 90s and such when the internet couldn't supercharge their spread. Good visuals, good advertising, good box design (Baldur's Gate II and Morrowind are good examples of intriguing box design sticking games firmly in the popular imagination) good presence in written media - games magazines, etc~
I guess you also have to think about platforms. I think the MGS series had a lot of trouble getting widespread fame until it became accessible on non-Playstation platforms. Interestingly GTA3 didn't quite suffer this fate, but I think this was because there was sufficient exposure for the series in it's first two installments and PC versions to get the word out to a wide enough audience.
This is pretty disconnected~
I think an interesting thing to look at is Halo. In my mind Halo was a classic from the day it was released, but very few others seem to think that, and I think it is largely bungie's fault. Halo: Combat Evolved was the perfect FPS in all things but multiplayer, in my opinion, and it had everything it needed to be a classic - a wildly popular platform, really good advertising and industry presence, accessibility for many, excellent visuals to spread the word (amazing graphics on so many levels) and really well balanced yet memorable gameplay. But it just got drowned out by it's (in my mind eternally inferior) sequels, Halo 2 was crap and uncalled for (as were all the other games, Halo:CE ended nicely in my mind, in a 'man with no name' ride into the sunset kind of way), halo 3 completely unmemorable for me and all other games just non-events in my mind. Halo should be played as a stand-alone title. Still, the reason I bring it up here is it's interesting fall from classic-status to half forgotten, old-fashioned also-ran status.
Half Life 3 has been a classic for well over a decade already.