last-child() выбирает последний элемент относительно родителя текущего. Не работает как вам нужно, поскольку а - единственный, он же первый и последний элемент в li.
Правильно будет так:
.navbar-nav li:last-child a {
border-right:2px solid red;
}
А вообще, в таких случаях более уместен
last-of-type()