I would expect the audio codec to have either a ST source port that streams data out of it or a MM slave port that can be read by a master. If the data is only 8kHz coming in then you could probably do this entire project in C code running on the processor (including the FFT).
With DMA engines you typically control them using software which tells it the type of data transfer to perform. For example in your case transferring data from the codec to memory would be the type of thing the software would do to inform the DMA what to do. If you implement everything in software then you may not need a DMA though. For example if the code has an interrupt line you could use that to have the CPU read the next value out of it and the rest of the time the CPU is doing the signal processing (FFT). That would be a good first step and if that is not able to keep up then you can switch to using hardware acceleration (DMAs and/or dedicated FFT hardware).