The FFT size you want depends on the required frequency resolution, not the amplitude resolution.
I don't think the real and imaginary parts are interesting if you want to do a spectrum analyzer. You only want the magnitude, which can be calculated from the real and imaginary values. Such a real-valued FFT can be computed more efficiently by pairing the real-valued inputs to complex values, doing a complex FFT with half the length, and then doing some simple post-processing.
So, instead of doing a 1024 point (or whatever) FFT with real input values, you can do a 512 point complex-input FFT plus some post processing. You will then get the 1024-point magnitude output.