Я руководитель проектов (или же ПМ). Пишу ТЗ сам, изредка советуясь с программерами и дизайнерами, т.к. имею довольно большой опыт.
Вариант «ТЗ пишет сам заказчик» — не рекомендую. Потому что уточнения ПМом могут в итоге занять больше времени, чем написать ТЗ с нуля (ну, не совсем с нуля, используя некоторые накопленные заготовки).