It's not so hard.
First of all, I invite all the gamedev know-how users to this.
As far as I know you need exterior maps and interior maps. That means loading between the streets and the insides, just like in GTA 3 or Vice City (haven't played San Andreas). Then, I for one can't picture a game like this if there isn't a goal. I would go for a "gang war" just like in GTA 2, but each of the gangs leaders (and members) has a private life, and then each gang is an "undeground society" complete with rankings and specialized people (auto theft, robbery, etc). Police, normal people, clubs, territory...but also families and stuff. And the game would happen in "turns" - which gang has the most territory or money or you-name-it in a month or half-year or so.
Anyway, to answer your question. You would need car physics combined with character physics, huge maps stored on those servers (you mentioned it's an online game) and some AI routines. Ok, also a sound and an input engine but these shouldn't be such a big deal compared to the others. That, on the programming part. Then, you would need lots of NPC characters with good moving/running/etc animations, lots of car models, maybe also the ability to import custom made cars with certain rules, of course...one good megaton of textures for everything...oh, and on the programming side again - damn good network code, 'cuz this is online. I'd say 2 years at least. And a lot of money. But hey, you asked, right?