why is the spectrogram from matlab different from audacity
I see two possible explanations.

Explanation 1:

Audacity is a non-destructive/non-linear audio editor. It primarily manipulate edit decision lists of audio signals, rarely the signals themselves. So when you nudge a block of audio 1.4s to the right, it does not fill the gap with 0 (silence). Instead, it just stores somewhere "this block plays 1.4s from the beginning of the timeline". For example, I have created here a 30s sine wave tone and nudged it at time offset 27s. Notice that the gap between the origin and the waveform is empty rather than showing a flat line indicating a 0 amplitude.



Now, if you apply the "Mix and render" command, all editing and mixing commands will be actually performed on the signal.

Explanation 2:

Digital silence is a sequence of 0. This causes a problem during the computation of the spectrogram because this involves the computation of log (0) to get to the dB scale. Audacity might use a special color in its palette for digital silence; while matlab might add a very low noise.