Это невозможно с точки зрения самого языка. Если у вас есть поле обычного объектного типа - оно или null, если инъекция ещё не отработала, или не null, если инъекция уже сработала. Нельзя в принципе сделать так, чтобы поле было не null, и лениво инициализировалось при первом к нему обращении.
То есть, ответ на ваш вопрос - "нельзя". И Dagger тут ни при чём :)
Возникает другой вопрос: а вам точно нужно, чтобы они все создавались по требованию? Вы ощущаете заметную просадку производительности при инициализации графа объектов? В чём реально проблема неленивой инициализации?