Yes, the Law of Cosines works for all triangles.
However, the proof depends on the shape a triangle, more precisely, how an altitude from some vertex falls onto the opposite side.
For example, consider a triangle Delta ABC with vertices A, B and C, corresponding angles alpha, beta and gamma and correspondingly opposite sides a, b and c.
Let's prove the Law of Cosines that states:
a^2+b^2-2*a*b*cos(gamma) = c^2
Let's draw altitude AH from vertex A to an opposite side BC with an intersection of this altitude and a side BC at point H.
There are different cases of a location of point H relatively to vertices B and C.
It can lie in between vertices B and C.
It can lie outside of BC on a continuation of this side beyond vertex B or beyond vertex C.
Assume that a base of this altitude, point H, is lying on the continuation of BC beyond a point C (so, C is in between B and H) and prove the Law of Cosines in this case. Other cases are similar to this one.
Let's use the following symbols for segments involved:
AH is h
BH is a_1
CH is a_2
Then, since C lies in between B and H,
a = a_1 - a_2 or a_1=a+a_2
Since both Delta ABH and Delta ACH are right triangles, by trigonometric dependency between hypotenuse, catheti and angles and by Pythagorean Theorem
h = b*sin(pi-gamma) = b*sin(gamma)
a_2 = b*cos(pi-gamma) = -b*cos(gamma)
c^2 = h^2+a_1^2 = b^2*sin^2(gamma)+(a-b*cos(y))^2 =
=b^2*sin^2(gamma)+a^2-2*a*b*cos(gamma)+b^2*cos^2(gamma)=
=a^2+b^2(sin^2(gamma)+cos^2(gamma))-2*a*b*cos(gamma)=
=a^2+b^2-2*a*b*cos(gamma)
End of Proof
When point H lies in between vertices B and C or on a continuation of side BC beyond vertex B, the proof is similar.
See Unizor Trigonometry - Simple Identities - Law of Cosines for visual presentation and more detailed information.