Well, if the error signal is always reliably at 10kHz, and you can guarantee no other errors happen - this is very strange, by the way; you should try to eliminate the 10kHz error signal to begin with -;
then indeed a FIR filter would be excellent at filtering that 10kHz away. Of course assuming no signal of interest is near that frequency.
For this to be possible, the ADC needs to sample at very least at 20ksamples/s (so that Nyquist is at 10kHz) but more is preferable.
I'm assuming you have no interesting content above 10kHz, so you need a lowpass. Design the FIR in Matlab or Octave or with some online tool, apply to the ADC samples, send through CAN.
A so-called decimating FIR filter may be what you need if you don't want to output 20ksamples/s to CAN which would hog all your CAN bandwidth.
Decimating FIR filter is like calculating FIR for every sample then dropping some, for example send out only one of eight samples. A specialized "decimating FIR" is an optimization reducing amount of unnecessary CPU work by only calculating those samples that are not removed.
In any case, filtering out an unknown source of error signal which shouldn't exist in the first place is asking for trouble.