К кому можно обратиться, кто выполняет эти роли ?!
Если просто - Тот кто будет реализовывать проект.
Варианты могу быть разные, например хотелки от заказчика собирает Account manager, потом передает менеджеру проекта, он совмесно с командой формирует ТЗ. Заказчик читает, обсуждает с Account manager и схема повторяется до полной удовлетворенности сторон. Как правило процедура платная. Некоторые смешные люди делают это бесплатно, но такое ТЗ скорее всего будет представлять кучу никому не нужного текста не о чем.
Как вариант, 2 компании. 1 реализует проект, вторая выполняет аудит. Тут схема сложнее, но больше гарантий на качественный продукт и большая стоимость.
А может быть 1 разработчик и он с заказчиком составляют ТЗ.
Стоит понимать, что ТЗ может иметь очень много вариантов, от текстового, до графического. Чем сложнее проект, тем детальнее должно быть ТЗ. И наоборот, только олигофрен или бюрократическая компания требует ТЗ для верстки 2 строк кода.