There are two expression which a very similar in German
Is there a difference in meaning, maybe a subtle one?
Why is the first "Schuld" capitalized and the second one not?
IMO there's almost no difference. "Schuld sein" may be a little more colloquial than "Schuld haben" or "Schuld tragen". Capitalization is an interesting point - according to canoo.net, in this case "Schuld" is a "verblasstes Nomen" (i fear there's no nice-fitting english translation?), a substantive used as it were an adjective. Since they aren't substantives any more, lower case is mandatory.