Nodes in a NUMA system have local RAM and can have local I/O. The later depends heavily on how the system is configured at the hardware level. If memory interchanges are performed by I/O accesses, then obviously each CPU must have its own I/O controller.
Here you have an example of an (old) NUMA system with local I/O for each node: http://lse.sourceforge.net/numa/older_stuff/meetings/mtg.2001.07.25/minutes.html