Есть разница - бизнес-аналитик общается с конечными пользователями и определяет бизнес-требования к системе (use-cases for example). Системный аналитик прекрасно знаком с внутренностями системы. Он переводит бизнес-требования в требования к системе, которые используются разработчиками для разработки кода. Ну во многих компаниях действительно это одна роль.