It's probably that the camera image is being fed directly to the framebuffer using a video overlay on this device, rather than going through the usual rendering path. Thus the 'main' framebuffer is empty.
This is the same sort of problem you often see on PC if you try to take a screenshot of a video player or some other software that uses an overlay: you get a grey or blue box on the screen where the overlaid content ought to be. The mechanism is a little different, because Android's composition framework does a lot more of this behind the scenes, but the root is the same.
Since this is to do with how camera images are composited on this device, you could avoid the problem by using a device with a different chipset. For example, Samsung's i9300 can take screenshots of the camera app.