Можно ли, по структуре проекта, создать composer.json?
Какие либо готовые решения вряд ли есть.
Можно написать скриптик и пройтись по php файлам проекта, посмотреть, где используются импорты модулей, вызовы классов, составить список, потом самостоятельно его отфильтровать, чтобы в этом списке остались только зависимости от вендоров. Скрипт должен сохранять данные о блоках "use" а также вызовы классов, содержащие "\" (регулярками типа
/^(?:\s+)?new\s+(\\?[a-z\\]+).*$/i
и
/^(\s+)\s+(\\?[a-z\\]+)\:\:.*$/i
).
Далее, имея информацию по вендорам, можно уже добавлять их по одному в новый composer.json (версии пакетов надо будет указывать в соответствии со старым композером), будет видно на каком файле скрипт зависает.