The only camera capable of connecting directly to the NXT is the Vision Subsystem for NXT or EV3:
With modified firmware, it is possible to send images from the cam to the NXT to the computer. But trying to stream video via this technique is impractical since each frame takes about 30 seconds to send to the computer. If you had a connection over USB, it would probably operate faster, but still not fast enough to effectively stream video.
If your goal is for the images to reach the computer, though, why does it need to pass through the NXT first? Why not use a webcam that sends the video directly to the computer? It would be much faster. There's software to support controlling NXT robots and receiving video from the webcam, such as iCommand. Or alternatively, you could have one window streaming video, and have the NXT software or BricxcC open in another window for controlling your robot.