Yes, anemia can cause stained teeth. Anemia is a condition where the body does not have enough red blood cells to carry oxygen to the cells. This can cause the teeth to become discolored, especially if the anemia is severe.