SPAs in general shouldn't cause this, in fact, this usually results in less lost data (as in there is much less chance of the beacon being cancelled as the user moves from page a to b, since the actual page doesn't "unload").. however, it's possible that what you are using to trigger the tracking could have intermittent issues?
In order to really find the issue, you are going to have to do a lot of testing.. maybe testing at load, or an automated test that can run the test many times in a row and try to determine if you can find and replicate when tracking doesn't occur... is the trigger failing? Or is the analytics encountering an issue that causes the tracking to fail.