Yes - it is feasible. MMOs often split the game world into multiple areas, as this makes the job easier, but you can still do it with 1 massive area - you just need to use a good spatial partitioning scheme.
Because most objects in MMOs don't move, you can also perform a preprocessing pass where objects are used to create collision checking trees.
Memory footprint isn't a huge issue here as long as you use instancing. Storing a couple floats per object is nothing in the grand scheme of things. A modest PC nowadays will have 4 gigabytes, while storing a position is just 3 floats (or 3 doubles) - which would easily allow several million stored objects in-game.
Storing things like inventories for each player would undoubtedly take up more data - although that can easily be cached to disk and only loaded when a player logs in.
You'll want to redundantly do the collision checking on the client as well as the server, as this'll allow the client to more responsively react to the environment. If a player walks into a wall, you want them to stop moving immediately - not after half a second when the server responds.
You only want to use the server for authoritative things, too. For example, you would perform pathfinding only on the client, as you can't cheat by taking a less efficient path!