Какой стек технологий выбрать для онлайн-игры?
Вопрос необходимо конкретизировать, рассматривать некоторые вещи на "сферическом коне в вакууме" невозможно.
По скольку ваша стратегия наверно будет ориентирована на пользователей компьютеров и реалтайм, Node.js вполне уместен, поскольку PHP не очень дружит с сокетами, а вы их скорее всего и будете использовать. 
Чистый WebGL - тот еще мазохизм, наверное вы будете использовать какую-то библиотеку. Если вы ориентируетесь на 3D, можно порекомендовать вам использовать Three.js, который, к тому же, может рендерить на основе Canvas. То есть, если компьютер игрока не поддерживает WebGL, можно переключиться на Canvas без особых изменений кода.
Node js на сервере и, скажем, webgl на клиенте
Безусловно лучше, чем PHP на сервере и Flash на клиенте.
Если углубляться, то популярные современные движки типа Unreal 4 и Unity 5 умеют собирать проекты в WebGL.
На Node.Js можно удобно выстроить шустрый игровой сервер. Http-запросы можно удобно обрабатывать, используя Koa, но для игр нужно соединение "в прямом эфире", т.е. без сокетов никак. Socket.IO в помощь.
Про базу данных ничего не скажу, выбор зависит от структуры проекта.