Can a doctor charge me for missing an appointment? What are my legal rights?

I don't remember signing anything regarding that. Well their office did call and left me voicemessages and I didn't call back at all , now they tell me that I owe them 120 dollars for missing an appointment. What rights do I have as to not to pay.
It is totally legal and the right thing to do. Your doctor set that time aside for your appointment, during that time your doctor could have seen another patient. If you don't show up not only are you being very disrespectful but you are costing him money because during that time he isn't making any (but he still has to pay his help). The most expensive thing to a person who provides you a service (doctor, plumber, auto mechanic, lawyer) is time.

If you feel wronged by your doctor then you need to work in a service field for a while,
They may have a sign posted in the office. However, most doctors these days do have you sign a form acknowledging that you must pay if you don't cancel in a timely manner -- usually 24-48 hours.

Call, explain why you missed the appointment, and ask if they will reconsider.

Next time, listen to the messages and call back. LOL
yes it's fair and legal
as a missed appointment represents lost revenue
Many doctors and dentists will charge you for the missed visit if you don't give them at least 24 hours notice. After all, you're costing them money and time that could have been used by another patient. Yes, it's legal.
U made the apointment U didn't go. U cost someone time and money for nothing.Look its simple if everyone could make an appointment and not keep it we would all go broke.
This notice is normally posted on a wall somewhere - it is not a form you sign. The receptionist will also tell you this each time you schedule an appointment. If you fail to show up, and do not call them, then you are financially responsible for the appointment.
The only way you have a right to NOT pay - is notify them prior to your appointment and let them know you will not be able to make it and to please reschedule. You failed to do this and now you are responsible to pay the $120..sorry...

Time is money. If you denied the doctor the chance to fill the schedule with a paying customer, you may be asked to pay something. On the other hand, feel free to bill the doctor's office for every hour they kept you waiting in the lobby when you came to an appointment and they kept you from doing your own work.
When you book an appointment with your doctor, he sets aside time to attend to your concerns. If you decide not to show up, you are basically adversely affecting his ability to earn money for the time allotted for you.

Had you given him 24 hours notice that you could not make it, he could have booked another client in the time slot set aside for you.

Of course he can bill you for that time. It's not his fault that you were that inconsiderate. Now pay the $120.00 and next time give him adequate notice if you can't make it.
You made a verbal contract with the doctor for his/her time when you made the appointment. Responsible persons keep their word and abide by their 'contracts'.
You have the right to grow up and take responsibility for yourself. Obviously, you've never had to do that before.