Can the atmega168 bootloader be installed with arduino uno?
You can use an Arduino as a programmer for other chips. The sketch is called "ArduinoISP". 

See these pages: http://arduino.cc/en/Tutorial/ArduinoISP, and http://arduino.cc/en/Tutorial/ArduinoToBreadboard

Basically, you power the target processor and connect to its in circuit programming programming pins. 

For a AtMega168 select the board type of "Arduino Diecimila or Duemilanove w/ ATmega168" as the target.

Here is one important tip. You have to disable the auto-reset of the programmer that occurs when the serial port is opened. Do this right before you select "Burn BootLoader" in the IDE.  I have seen putting a specific pullup value on it as well as a big cap on the reset line. I had a breadboard Arduino so I just disconnected the reset line.