How do I reset an AVR's SPI read shift register?
There seems to be little information on how you use the arduino to monitor the communication. But, you should probably also monitor the \$\overline{\textrm{CS}}\$ pin. When \$\overline{\textrm{CS}}\$ goes low SPI communication is at the start of each transmission therefore you should be able to use that to synchronize on each 'packet' and reset the input shift register. When \$\overline{\textrm{CS}}\$ goes high communication is over, so you should flush your output even if you didn't get a complete byte. (\$\overline{\textrm{CS}}\$ is also known as \$\overline{\textrm{SS}}\$).