Asking to inject based on a Module without a Component is a bit like asking if you can have dinner if you have a recipe but no kitchen. The Module is just the recipe (configuration); the Component does all the cooking (creation). In this analogy, the implementations themselves would be the ingredients, which Dagger prepares on demand for you.
Most of Dagger's functionality comes from the implementation Dagger makes based on the interface you annotate with @Component. The rest of Dagger's codegen processes your @Module classes and your classes that use @Inject so that Dagger can call methods and constructors and set fields, but without a @Component nothing will call those helper classes. So in all cases a @Component is really necessary.
That said, as long as you have a Component, you do have a choice whether to let Dagger create your class—retrieving the instance from Dagger—or to create your class manually and let Dagger populate its @Inject members later.