В спецификации написано, что
Because of the way selectors work, multiple declarations for the same selector may be organized into semicolon (;) separated groups.
то есть «;» используется для разделения правил. Поскольку после последнего правила нечего разделять, то и разделитель не нужен.
Там же есть пример без разделителя в конце:
h1 {
font-weight: bold;
font-size: 12px;
line-height: 14px;
font-family: Helvetica;
font-variant: normal;
font-style: normal
}
Но хоть он и необязателен, лучше его всё-таки ставить. При добавлении новых стилей к этому селектору очень легко не заметить отсутствие разделителя, что может привести к непредсказуемым последствиям, и отнять время на отладке и стучании лбом по клавиатуре..
Если вы таким образом хотите сэкономить пару байт, то делаете это неправильно. Для этого лучше использовать минификатор. С ним будет и результат лучше, и разработке он не навредит.