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.
Duden lists both examples alongside so I don't think there is much of a difference.
There is also a link to the reason why schuld sein is written with lower case (Rule 70): It's a definite adjective and those are written with lower case.