The NXT actually has 3 microcontrollers making everything tick along.
(1) The little circuit board at the top of the picture is the Bluetooth to serial module. The left most, rectangular chip is the memory with the Bluetooth control software from Cambridge Silicon Radio. The square chip is the CSR Bluecore 4 microcontroller and radio hardware BC417143BQN, supporting Bluetooth v2.0 and EDR. The gold zig-zag trace at the top right hand corner is presumably the antenna.
(2) The main 32-bit ARM controller that runs your programs, an Atmel AT91SAM7S256. This includes Flash memory/file system, RAM and the USB Device interface.
(3) An 8-bit Atmel ATMEGA48. I presume this manages the pulse width modulation (PWM) of the motors, and uses the feedback from the NXT motor rotation sensors to tune the power to each motor.
Correction, courtesy of Jürgen Stuber: the ATmega48 drives the PWM for the motor control, but the rotation sensors feedback to the AT91SAM7s256.
In other words if you set two NXT motors, (e.g. on the left and right sides of a vehicle), to the same power level this controller will try to make both motors turn at the same rate. A notoriously difficult to solve problem in user level programs on the RCX.