Set up an off-screen camera, render to texture, save the result as a PNG. That would be my suggestion and would involve the least amount of code.
If not that, then you have to manually read pixels from specific parts of the atlas using the sprite (atlas.GetSprite("name")). As I said NGUI simply draws parts of the atlas texture, with the actual area defined from the data you get from atlas.GetSprite. You're welcome to read it manually yourself using readpixels and then do what you want with it.