Normal şartlarda $product->size 150x50 olur, $sizes ise ["XL","M","150x50"] olur. Şöyle yaparsınız:
@foreach ($sizes as $size)
<option {{ $product->size == $size->title ? 'selected' : null }} value="{{ $size->title }}">
{{$size->title}}
</option>
@endforeach
Sizin yazdığınız kod benim de kafamı karıştırmış olabilir. Mesela allItems($product->size) yapmışsınız, allItems ise virgülle ayrılmış değerleri diziye çeviriyor. Bu durumda $product->size içinde virgülle ayrılmış şekilde birden fazla değer mi tutuyorsunuz? Bence öyle değil, üstte yazdığım gibi.