Comparing analytical Fourier transform with FFTs

This is related to my other question on Stackoverflow.

From using the tables on Wikipedia or Mathematica I can prove that the Fourier transform of function $$f(t) = -i H(t) \exp(-(ia+b)t),$$ where $H$ is the Heaviside function, is $$F(\omega) = \dfrac{\omega-a-ib}{(\omega-a)^2+b^2}.$$ This was performed using $$F(\omega) = \int_{-\infty}^{\infty} dt e^{-i\omega t} f(t) .$$

However if I try to calculate the Fourier transform numerically, either using Matlab or Python3, I get different results. Cris Luengo's answer to my question shows graphically how the analytical and numerical results differ. The red line comes from Matlab's fft whereas the blue line is from $F(\omega)$ above.

Why don't the analytical and numerical approaches agree? Is it because of the FFT algorithm or something more subtle?