Heart disease can cause a person to faint. This is known as cardiac syncope. It can be life-threatening and may happen without warning. It can be caused by other heart problems such as abnormal heart rhythms and problems with the heart valves.