You're right that a nail missed the batten strip. However there shouldn't be water under the tile and it looks like it's been ponding against the high side of the batten.
Need a roofer.
Most likely the substrate was contaminated by chlorides, sulfates, or nitrates, resulting in under-film corrosion. Could try washing with a product such as chlor-rid before before and after blast.