Поради начина, по който достъпът до атрибутите на модела е реализиран в Eloquent, когато осъществявате достъп до $category->specifics , магически __get() се извиква метод, който връща копие на стойността на този атрибут. Следователно, когато добавите елемент към това копие, вие просто променяте копието, а не стойността на оригиналния атрибут. Ето защо получавате грешка, че каквото и да правите, няма да има ефект.
Ако искате да добавите нов елемент към $category->specifics масив, трябва да се уверите, че магическият __set() се използва чрез достъп до атрибута по установителен начин, напр.:
$category->specifics = array_merge($category->specifics, $this->request->get('specifics'));