Memory requirements for FFT
From the documentation of the CMSIS-DSP FFT function:


  The FFT functions operate in-place. That is, the array holding the
  input data will also be used to hold the corresponding result. The
  input data is complex and contains 2*fftLen interleaved values as
  shown below.


It is possible to implement the FFT in such a way, that it does not require additional buffers but uses the memory of the input array for its output. This method is usually referred to as "in-place" calculation. From the above citation I think that the CMSIS-DSP library does exactly that (though we can not know for sure without the source code).

So in this case, yes, a memory size of 16 KB is sufficient.

That an in-place calculation is possible can be understood from the butterfly diagram, see for example here.