Detect a particular frequency?

But I'm getting the maximum magnitude in the bin for the frequency when the source is perpendicular to the mic not in front of it.

When the microphone is pointed at the source, you are probably overloading the microphone amplifier, which leads to serious waveform distortion and totally incorrect frequency indications.

Post a clear circuit diagram (not a Fritzing mess) of your microphone input circuit.