Can I flash a bootloader on a microcontroller that already have one

I got an Arduino Uno microcontroler that has already Arduino Uno bootloader but I don't have the 2 capacitors to run it outside so I need to use the internal 8mhz clock , can I burn the new bootloader ?

Chances are the microcontroller already has the fuses set to use an external clock source. If so, you will not be able to set the fuses (which is integrated into the Burn Bootloader process) to use the internal oscillator without having an external clock source connected. If you don't own the necessary components, there is a sketch that can be used to burn the bootloader which also outputs a clock signal on pin 9:
Atmega_Board_Programmer
After the fuses are changed to use the internal oscillator, the external clock source will no longer be needed.

I mean can I buren a bootloader many time ( I burne one than I change it than I go back to the first ....)

The flash memory in the ATmega328P microcontroller used by your Uno is rated for 10000 write cycles. If you burn the bootloader more than 10000 times, you might start having problem with the memory corruption but any reasonable number of times burning the bootloader is no problem at all.

I'm just going to replace the 16mhz one by 8mhz so only one time