以前は「仕様が無い」を使っていましたが、「しよう」は日本人にとっても言いにくいです。
だから、最近では普通の人はしゃべる時に「しょうがない」を使うことがほとんどです。
本当は、「しょうがない」は話すときだけの言葉ですが、最近では書くときも「しょうがない」と書く人がほとんどです。
Almost of us use "しょうがない" when we are speaking and writing.
In fact, "しょうがない" is only for speaking although, today only few people use "仕様が無い" for writing.
The changeing from "仕様が無い" to "しょうがない" is like from "Let us" to "Let's".
Saying "仕様が無い" is very busy even for our tongue :)
And, we use "仕方(しかた)が無(な)い" for speaking and writing without connecting today.
The meaning is same as "しょうがない".
But "仕方がない" is more polite.
Sometime we omit “が” like "仕方ない".
But we don't omit like "しょうない", this is wrong.
"仕方", "仕様" mean "how to" or "way".
"仕方ない"“しょうがない” mean "there's no way", "I can't do any help about this".