STM32 Backup registers stability
Is it really possible that the voltage spikes affect on backup domain data?


It is really unlikely for the voltage spikes to directly corrupt the stored data, but the supply voltage drop or surge might be messing with the operation of your microcontroller. 


  If yes, is there any protection method for that?


Decouple your microcontroller supply as far as possible from the thermal printer. Meaning:


decoupling capacitors. Lots of them, close to all supply pins. Not only large electrolytic ones, as these have high ESR, but also "fast" X7R ceramic ones. The Application Notes / example schematics in ST Datasheets will demonstrate a good setup. Generally, I use relatively good 100nF ceramic capacitors located very closely to the supply pin, together with 10µF electrolytic caps (could use these fancy multilayer ceramics for that, too, haven't tried. They are more expensive).
Buffer the printer's power supply well. Meaning: large capacitors.
Use appropriate filtering on the supply lines, if possible. Ferrite beads are a cheap way of suppressing HF.
Ground planes. These are (almost) always a good idea. Use them! Also, if you've got noisy and sensitive parts, join their grounds in exactly one point (star topology) – but that should mainly be a concern for things like analog signals in circuits with switch mode power supplies etc.
Make sure your supply really can handle even peak current (after applying sufficient buffering). 
signal lines going to / coming from your peripherals might carry high power noise without you noticing. Oscilloscope the hell out of those! If in doubt, calculate the bandwidth needed by the signals (for digital signals: those sinc sidelobes contain energy, too, and if you cut them away, you might not or might be helping the receiving end), and add simple RC lowpass filters.
For RF, measurement and high power circuitry I'd recommend considering explicit shielding measures (metal "boxes" around the sensitive/emitting parts), but this is certainly not relevant here.



  Access to the backup domain in stm32 starts by the command "PWR_BackupAccessCmd(ENABLE)" to unlock that domain. Is it a good way to lock it again after each read or write access?


Probably? There's bound to be documentation in form of an Application Note about that.