Implementing FFT in Matlab
For calculating the frequency spectrum of an non-uniformly sampled signal I see two options:


Interpolate the data in order to obtain evenly spaced samples before taking the FFT as suggested by Hasan. Use the Matlab function interp1. If you have the Data Analysis toolbox, the resample function of the timeseries class might be worth a look.
Use the Lomb–Scargle periodogram. There's no builtin Matlab function but an implementation from Matlab File Exchange exists.