Yes, but as I said about, the early x86 platforms actually used 20-bit address buses.
"Lolwut?!!" I hear you exclaim, "surely they were 16-bit!"
Warning: long rant about low-level CPU stuff ahead.[/u]
They were and they weren't. The "bits" of a CPU is an ambiguous term which can refer to one of three things -
1. The size of the data/address registers (in a CISC CPU) or general purpose registers (RISC CPUs).
2. The width of the address bus.
3. The width of the data bus.
The registers are small pieces of ultra-fast memory used for CPU operations (bigger ones allow larger operations to be carried out more efficiently), and for accessing memory addresses (when the CPU wants to access a piece of memory, it loads that address into one of it's registers)
The data bus moves data from the CPU to external devices and vice-vera, and the address bus is used to tell the rest of the system which part of memory it wants to access. (note in this context memory means not only RAM, but also the addresses of hard disks, graphics cards, I/O devices etc that the CPU might want to move data to and from)
In most systems, they are not the same size. Take the Intel 8088 for example. It had a 20-bit address bus to allow it to access up to 1MB of memory (a 16-bit bus can only access 64K - i.e. 2^16 bytes), 16-bit registers and an 8-bit external bus to access I/O devices (the 8086 had a 16-bit bus, but 16-bit buses and the devices that supported them were deemed too expensive at the time). A more contemporary example would be that of the Athlon 64 - it has 64-bit registers, a 128-bit data bus and a 48-bit address bus (because an Athlon 64 will never need to support 2^64 bytes of RAM, they limited it to cut costs, Intel does the same with it's chips)
The primary limiting factor with RAM size is the size of the address bus. If the address is too big to be sent over the bus, it can't happen. The other limiting factor is the size of the address registers, but this can be overcome, as shown with the 8088 where there was a 4-bit discrepancy, however, this can be quite hackish, and supposedly the 8088 and 286 had horrible segmented memory issues which were probably related to the fact that the registers weren't big enough to hold the addresses that the CPU was operating on.