Yes, usually, but "have to" implies a stronger committment, or that things are out if your control. Eg You would say "I cant make it, because I have to go to class" but "I cant make it, because I am supposed to have dinner with a friend." The latter implies that you agreed to the dinner, and also that you might be able to get out of it. (PS, if you dont really want to go to dinner, but feel obliged, you would say "have to" -- "I cant make it, I have to go dinner with my ex-wife to talk about her problems.")
PPS - Also use "have to" re something you must do eventually, but havent scheduled yet -- "I have to go to the dentist soon, because I am due for a checkup"