I agree with ellenm.
Also, I think we have to look at the causes, and go from there. This didn't happen for "no reason." It happened because the cat walked into the dog. I'm not saying it's ok for this to happen, but there was a reason, and it needs to be in the equation when you are figuring out what steps to take.
When we have several animals in the same house, it becomes OUR responsibility to handle all of them. I have 3 cats, 2 of them hate my dog, 1 is best buds with them. I feel 100% comfortable having my pup around 1 of the cats, I watch them because it's cool to watch, but I have zero issues leaving them alone. With the other 2 cats, I know they don't like the pup, so when they're all together, I watch like a hawk. I feel like it's MY responsibility to keep all of my animls safe, I don't take for granted that they will all be great friends. Not all animals will get along, that's just the way it is. So it becomes the owners responsibility to keep things safe, and under control. My cat, lil one, who's about 7 lbs doesn't like Dakota at all. So I will monitor, give commands, and step in as needed. I would never, ever, ever in a million years just sit back while lil one walked in front of Dakota. Dakota has a fairly high drive, (I say fairly because it's controllable, if I catch her in time. If I tell her to stay, she won't move. But she does want to go after anything and everything that moves) my cat doesn't like her, so to me that spells a recipe for disaster. Because of the way I watch them, there has never been an incident between the cats and my dog. If I just sat back and didn't do anything, there would be fights all the time, everyone would be in fear, and it would suck.
If I was in your situation, Dakota was laying down, cat walking past, I would have gave a stay and/or leave it command as needed. If your dog doesn't respond to stay or leave it in the face of challenging distractions, keep working on those commands until they're pretty solid. It's alot of work, and dedication for some dogs, but so worth it. We train several times a day for a long time, and we still work all the time at leave it and stay, and I always up the ante to get Dakota close to her comfort level. I push the envelope, without setting her up for failure, and it pays off. But I would be silly to think I could just let all of my animals go about their business without something happening. We spend a huge amount of time with leave it, stay, wait, and recall. I think those are the most important commands, and if you're dog has a very solid understanding of these commands, and listens, it would help put an end to all of this.
I would take all that into account, and then look at resource guarding, and see how the progress goes.